#include <cstdio>
#include <algorithm>
using namespace std;
const int N=105;
//被抓的概率不能简单相乘，而不被抓的概率却可以直接相乘
//dp[i]表示抢i元抓的概率
double dp[N*100];
double prob[N];
int money[N];
int main(void){
    //freopen("data.txt","r",stdin);
    int t,n;
    double p;
    scanf("%d",&t);
    while(t--){
        scanf("%lf%d",&p,&n);
        int sum=0;
        for(int i=0;i<n;i++){
            scanf("%d%lf",&money[i],&prob[i]);
            sum+=money[i];
        }
        dp[0]=0;
        for(int i=1;i<=sum;i++){
            dp[i]=i;
        }
        int ans=0;
        for(int i=0;i<n;i++){
            for(int j=sum;j>=money[i];j--){
                dp[j]=min(dp[j],1-(1-dp[j-money[i]])*(1-prob[i]));
                if(dp[j]<p){
                    ans=max(ans,j);
                }
            }
        }
        printf("%d\n",ans);
    }
    return 0;
}
